[INFO] cloning repository https://github.com/brainboy2487/pasta
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brainboy2487/pasta" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrainboy2487%2Fpasta", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrainboy2487%2Fpasta'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 035228b6cd4e4841222f80b1a677a465712fe51d
[INFO] fixing brainboy2487/pasta against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrainboy2487%2Fpasta" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/brainboy2487/pasta
[INFO] finished tweaking git repo https://github.com/brainboy2487/pasta
[INFO] tweaked toml for git repo https://github.com/brainboy2487/pasta written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/brainboy2487/pasta on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/brainboy2487/pasta already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 24f2b11d72015a9f01b21ad1101c52a6cbf3ef72040d99896582cfe4fd0e5f3d
[INFO] running `Command { std: "docker" "start" "24f2b11d72015a9f01b21ad1101c52a6cbf3ef72040d99896582cfe4fd0e5f3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "24f2b11d72015a9f01b21ad1101c52a6cbf3ef72040d99896582cfe4fd0e5f3d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "24f2b11d72015a9f01b21ad1101c52a6cbf3ef72040d99896582cfe4fd0e5f3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "24f2b11d72015a9f01b21ad1101c52a6cbf3ef72040d99896582cfe4fd0e5f3d" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking predicates-core v1.0.10
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling x11 v2.21.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking anymap v0.12.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]     Checking path-clean v0.1.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking diff v0.1.13
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]     Checking predicates-tree v1.0.13
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking pretty_assertions v1.4.1
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking pasta v1.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking pasta_async v0.1.0 (/opt/rustwide/workdir/src/pasta_async)
[INFO] [stderr] warning: `src/pasta_async/src/lib.rs` is already on the latest edition (2024), unable to migrate further
[INFO] [stderr] 
[INFO] [stderr] If you are trying to migrate from the previous edition (2021), the
[INFO] [stderr] process requires following these steps:
[INFO] [stderr] 
[INFO] [stderr] 1. Start with `edition = "2021"` in `Cargo.toml`
[INFO] [stderr] 2. Run `cargo fix --edition`
[INFO] [stderr] 3. Modify `Cargo.toml` to set `edition = "2024"`
[INFO] [stderr] 4. Run `cargo build` or `cargo test` to verify the fixes worked
[INFO] [stderr] 
[INFO] [stderr] More details may be found at
[INFO] [stderr] https://doc.rust-lang.org/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html
[INFO] [stderr] 
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking criterion v0.4.0
[INFO] [stderr]        Fixed src/stdlib/graphics/backend/x11.rs (3 fixes)
[INFO] [stderr]        Fixed src/lib.rs (2 fixes)
[INFO] [stderr]        Fixed src/interpreter/executor.rs (5 fixes)
[INFO] [stderr]        Fixed src/semantics/priority.rs (1 fix)
[INFO] [stderr]        Fixed src/runtime/family/asm/select.rs (1 fix)
[INFO] [stderr]        Fixed src/lexer/alias.rs (2 fixes)
[INFO] [stderr]        Fixed src/interpreter/int_api.rs (2 fixes)
[INFO] [stderr]        Fixed src/interpreter/errors.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/executor.rs:557:41
[INFO] [stdout]     |
[INFO] [stdout] 557 |                         if let Err(e) = self.execute_statement(inner) {
[INFO] [stdout]     |                                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |    |
[INFO] [stdout]     |                                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 570 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/executor.rs:574:29
[INFO] [stdout]     |
[INFO] [stdout] 574 |             if let Err(e) = self.execute_statement(stmt) {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |    |
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 583 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/interpreter/executor.rs:8697:25
[INFO] [stdout]      |
[INFO] [stdout] 8696 |                     if let Err(e) =
[INFO] [stdout]      |                                -
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] 8697 |                         crate::interpreter::ex_eval::eval_expr(&mut exec, &*right_ast_clone)
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8702 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/interpreter/executor.rs:9137:31
[INFO] [stdout]      |
[INFO] [stdout] 9127 |                         let mut exec = crate::interpreter::executor::Executor::new();
[INFO] [stdout]      |                             --------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `exec` calls a custom destructor
[INFO] [stdout]      |                             `exec` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 9137 |                         match exec.execute_program(&prog) {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 9151 |                     };
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exec` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `exec` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `exec` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]      = note: `exec` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `exec` invokes this custom destructor
[INFO] [stdout]     --> src/stdlib/graphics/backend/x11.rs:613:1
[INFO] [stdout]      |
[INFO] [stdout]  613 | impl Drop for X11Window {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/shell_os/cli/cli.rs:147:31
[INFO] [stdout]     |
[INFO] [stdout] 139 |                         let mut cmd = ProcessCommand::new(&path);
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `cmd` calls a custom destructor
[INFO] [stdout]     |                             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 147 |                         match cmd.spawn() {
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 157 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/shell_os/cli/cli.rs:169:31
[INFO] [stdout]     |
[INFO] [stdout] 160 |                         let mut cmd = ProcessCommand::new(exe);
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `cmd` calls a custom destructor
[INFO] [stdout]     |                             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 169 |                         match cmd.spawn() {
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/shell_os/cli/cli.rs:416:15
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut cmd = std::process::Command::new(bin);
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `cmd` calls a custom destructor
[INFO] [stdout]     |             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 416 |         match cmd.spawn() {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 425 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/threading/threads.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     global_registry().lock().unwrap().alloc_id()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^----------------
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this temporary value will be dropped at the end of the block
[INFO] [stdout]     |     a temporary with access to the borrow is created here ...
[INFO] [stdout] 231 | }
[INFO] [stdout]     | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::MutexGuard`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 230 |     let x = global_registry().lock().unwrap().alloc_id(); x
[INFO] [stdout]     |     +++++++                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/threading/threads.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     global_registry().lock().unwrap().register(t)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^----------------
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this temporary value will be dropped at the end of the block
[INFO] [stdout]     |     a temporary with access to the borrow is created here ...
[INFO] [stdout] 236 | }
[INFO] [stdout]     | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::MutexGuard`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let x = global_registry().lock().unwrap().register(t); x
[INFO] [stdout]     |     +++++++                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/threading/threads.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     global_registry().lock().unwrap().kill(id)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^----------------
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this temporary value will be dropped at the end of the block
[INFO] [stdout]     |     a temporary with access to the borrow is created here ...
[INFO] [stdout] 267 | }
[INFO] [stdout]     | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::MutexGuard`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 266 |     let x = global_registry().lock().unwrap().kill(id); x
[INFO] [stdout]     |     +++++++                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/threading/threads.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 271 |     global_registry().lock().unwrap().snapshot()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^----------------
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this temporary value will be dropped at the end of the block
[INFO] [stdout]     |     a temporary with access to the borrow is created here ...
[INFO] [stdout] 272 | }
[INFO] [stdout]     | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::MutexGuard`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let x = global_registry().lock().unwrap().snapshot(); x
[INFO] [stdout]     |     +++++++                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/runtime/devices.rs (1 fix)
[INFO] [stderr]    Migrating tests/graphics_grid_api.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/interpreter/shell.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/executor.rs:557:41
[INFO] [stdout]     |
[INFO] [stdout] 557 |                         if let Err(e) = self.execute_statement(inner) {
[INFO] [stdout]     |                                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                    |    |
[INFO] [stdout]     |                                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `e` calls a custom destructor
[INFO] [stdout]     |                                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 570 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/executor.rs:574:29
[INFO] [stdout]     |
[INFO] [stdout] 574 |             if let Err(e) = self.execute_statement(stmt) {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |    |
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 583 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/interpreter/executor.rs:8697:25
[INFO] [stdout]      |
[INFO] [stdout] 8696 |                     if let Err(e) =
[INFO] [stdout]      |                                -
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                `e` calls a custom destructor
[INFO] [stdout]      |                                `e` will be dropped later as of Edition 2024
[INFO] [stdout] 8697 |                         crate::interpreter::ex_eval::eval_expr(&mut exec, &*right_ast_clone)
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8702 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/interpreter/executor.rs:9137:31
[INFO] [stdout]      |
[INFO] [stdout] 9127 |                         let mut exec = crate::interpreter::executor::Executor::new();
[INFO] [stdout]      |                             --------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             `exec` calls a custom destructor
[INFO] [stdout]      |                             `exec` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 9137 |                         match exec.execute_program(&prog) {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 9151 |                     };
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]      |
[INFO] [stdout]  731 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `exec` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/io/buffered/bufwriter.rs:687:0
[INFO] [stdout] note: `exec` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `exec` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]      = note: `exec` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `exec` invokes this custom destructor
[INFO] [stdout]     --> src/stdlib/graphics/backend/x11.rs:613:1
[INFO] [stdout]      |
[INFO] [stdout]  613 | impl Drop for X11Window {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/shell_os/cli/cli.rs:147:31
[INFO] [stdout]     |
[INFO] [stdout] 139 |                         let mut cmd = ProcessCommand::new(&path);
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `cmd` calls a custom destructor
[INFO] [stdout]     |                             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 147 |                         match cmd.spawn() {
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 157 |                     } else {
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/shell_os/cli/cli.rs:169:31
[INFO] [stdout]     |
[INFO] [stdout] 160 |                         let mut cmd = ProcessCommand::new(exe);
[INFO] [stdout]     |                             -------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `cmd` calls a custom destructor
[INFO] [stdout]     |                             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 169 |                         match cmd.spawn() {
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 179 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/interpreter/shell_os/cli/cli.rs:416:15
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut cmd = std::process::Command::new(bin);
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `cmd` calls a custom destructor
[INFO] [stdout]     |             `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 416 |         match cmd.spawn() {
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 425 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/threading/threads.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     global_registry().lock().unwrap().alloc_id()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^----------------
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this temporary value will be dropped at the end of the block
[INFO] [stdout]     |     a temporary with access to the borrow is created here ...
[INFO] [stdout] 231 | }
[INFO] [stdout]     | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::MutexGuard`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 230 |     let x = global_registry().lock().unwrap().alloc_id(); x
[INFO] [stdout]     |     +++++++                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/threading/threads.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     global_registry().lock().unwrap().register(t)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^----------------
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this temporary value will be dropped at the end of the block
[INFO] [stdout]     |     a temporary with access to the borrow is created here ...
[INFO] [stdout] 236 | }
[INFO] [stdout]     | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::MutexGuard`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let x = global_registry().lock().unwrap().register(t); x
[INFO] [stdout]     |     +++++++                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/threading/threads.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     global_registry().lock().unwrap().kill(id)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^----------------
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this temporary value will be dropped at the end of the block
[INFO] [stdout]     |     a temporary with access to the borrow is created here ...
[INFO] [stdout] 267 | }
[INFO] [stdout]     | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::MutexGuard`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 266 |     let x = global_registry().lock().unwrap().kill(id); x
[INFO] [stdout]     |     +++++++                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/threading/threads.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 271 |     global_registry().lock().unwrap().snapshot()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^----------------
[INFO] [stdout]     |     |
[INFO] [stdout]     |     this temporary value will be dropped at the end of the block
[INFO] [stdout]     |     a temporary with access to the borrow is created here ...
[INFO] [stdout] 272 | }
[INFO] [stdout]     | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `std::sync::MutexGuard`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the temporary is part of an expression at the end of a block;
[INFO] [stdout]             consider forcing this temporary to be dropped sooner, before the block's local variables are dropped
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] help: for example, you could save the expression's value in a new local variable `x` and then make `x` be the expression at the end of the block
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let x = global_registry().lock().unwrap().snapshot(); x
[INFO] [stdout]     |     +++++++                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/bin/pasta.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/cli_smoke.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/lex_range.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/range_behavior.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.56s
[INFO] [stderr] crater-edition-check: pasta_async v0.1.0 (/opt/rustwide/workdir/src/pasta_async) updating edition from 2024 to 2024
[INFO] [stderr] crater-edition-check: pasta v1.6.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking pasta v1.6.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking pasta_async v0.1.0 (/opt/rustwide/workdir/src/pasta_async)
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/pasta_async/src/io.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TaskHandle`
[INFO] [stdout]  --> src/pasta_async/src/runtime.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::api::{Continuation, Error, TaskHandle};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/pasta_async/src/serialize.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/pasta_async/src/testing.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/pasta_async/src/io.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TaskHandle`
[INFO] [stdout]  --> src/pasta_async/src/runtime.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::api::{Continuation, Error, TaskHandle};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/pasta_async/src/serialize.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn draw_rect(canvas: &mut Canvas, x: isize, y: isize, w: isize, h: isize, color: u32) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn fill_rect(canvas: &mut Canvas, x: isize, y: isize, w: isize, h: isize, color: u32) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / pub fn fill_grid_cell(
[INFO] [stdout] 53 | |     canvas: &mut Canvas,
[INFO] [stdout] 54 | |     cell_width: usize,
[INFO] [stdout] 55 | |     cell_height: usize,
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | |     color: u32,
[INFO] [stdout] 59 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / pub fn fill_grid_cells(
[INFO] [stdout] 69 | |     canvas: &mut Canvas,
[INFO] [stdout] 70 | |     cell_width: usize,
[INFO] [stdout] 71 | |     cell_height: usize,
[INFO] [stdout] 72 | |     cells: &[(isize, isize, u32)],
[INFO] [stdout] 73 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / pub fn fill_grid_run(
[INFO] [stdout] 80 | |     canvas: &mut Canvas,
[INFO] [stdout] 81 | |     cell_width: usize,
[INFO] [stdout] 82 | |     cell_height: usize,
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |     color: u32,
[INFO] [stdout] 87 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | / pub fn fill_grid_runs(
[INFO] [stdout]  98 | |     canvas: &mut Canvas,
[INFO] [stdout]  99 | |     cell_width: usize,
[INFO] [stdout] 100 | |     cell_height: usize,
[INFO] [stdout] 101 | |     runs: &[(isize, isize, usize, u32)],
[INFO] [stdout] 102 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn draw_circle(canvas: &mut Canvas, cx: isize, cy: isize, radius: isize, color: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn fill_circle(canvas: &mut Canvas, cx: isize, cy: isize, radius: isize, color: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn draw_ellipse(canvas: &mut Canvas, cx: isize, cy: isize, rx: isize, ry: isize, color: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub fn fill_ellipse(canvas: &mut Canvas, cx: isize, cy: isize, rx: isize, ry: isize, color: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | / pub fn draw_triangle(
[INFO] [stdout] 243 | |     canvas: &mut Canvas,
[INFO] [stdout] 244 | |     x0: isize,
[INFO] [stdout] 245 | |     y0: isize,
[INFO] [stdout] ...   |
[INFO] [stdout] 250 | |     color: u32,
[INFO] [stdout] 251 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | / pub fn fill_triangle(
[INFO] [stdout] 258 | |     canvas: &mut Canvas,
[INFO] [stdout] 259 | |     mut x0: isize,
[INFO] [stdout] 260 | |     mut y0: isize,
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |     color: u32,
[INFO] [stdout] 266 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub const COLOR_BLACK: u32 = 0xFF000000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:479:1
[INFO] [stdout]     |
[INFO] [stdout] 479 | pub const COLOR_WHITE: u32 = 0xFFFFFFFF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:480:1
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub const COLOR_RED: u32 = 0xFFFF0000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | pub const COLOR_GREEN: u32 = 0xFF00FF00;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:482:1
[INFO] [stdout]     |
[INFO] [stdout] 482 | pub const COLOR_BLUE: u32 = 0xFF0000FF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:483:1
[INFO] [stdout]     |
[INFO] [stdout] 483 | pub const COLOR_YELLOW: u32 = 0xFFFFFF00;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub const COLOR_CYAN: u32 = 0xFF00FFFF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub const COLOR_MAGENTA: u32 = 0xFFFF00FF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:486:1
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub const COLOR_ORANGE: u32 = 0xFFFF8000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:487:1
[INFO] [stdout]     |
[INFO] [stdout] 487 | pub const COLOR_PURPLE: u32 = 0xFF800080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:488:1
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub const COLOR_PINK: u32 = 0xFFFF69B4;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub const COLOR_BROWN: u32 = 0xFF8B4513;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:490:1
[INFO] [stdout]     |
[INFO] [stdout] 490 | pub const COLOR_GRAY: u32 = 0xFF808080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:491:1
[INFO] [stdout]     |
[INFO] [stdout] 491 | pub const COLOR_GREY: u32 = 0xFF808080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | pub const COLOR_DARK_GRAY: u32 = 0xFF404040;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | pub const COLOR_LIGHT_GRAY: u32 = 0xFFC0C0C0;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | pub const COLOR_DARK_RED: u32 = 0xFF8B0000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:495:1
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub const COLOR_DARK_GREEN: u32 = 0xFF006400;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:496:1
[INFO] [stdout]     |
[INFO] [stdout] 496 | pub const COLOR_DARK_BLUE: u32 = 0xFF00008B;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:497:1
[INFO] [stdout]     |
[INFO] [stdout] 497 | pub const COLOR_TEAL: u32 = 0xFF008080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:498:1
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub const COLOR_NAVY: u32 = 0xFF000080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:499:1
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub const COLOR_MAROON: u32 = 0xFF800000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:500:1
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub const COLOR_OLIVE: u32 = 0xFF808000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:501:1
[INFO] [stdout]     |
[INFO] [stdout] 501 | pub const COLOR_LIME: u32 = 0xFF32CD32;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:502:1
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub const COLOR_INDIGO: u32 = 0xFF4B0082;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:503:1
[INFO] [stdout]     |
[INFO] [stdout] 503 | pub const COLOR_VIOLET: u32 = 0xFFEE82EE;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:504:1
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub const COLOR_GOLD: u32 = 0xFFFFD700;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub const COLOR_SILVER: u32 = 0xFFC0C0C0;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub const COLOR_CORAL: u32 = 0xFFFF7F50;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:507:1
[INFO] [stdout]     |
[INFO] [stdout] 507 | pub const COLOR_SALMON: u32 = 0xFFFA8072;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:508:1
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub const COLOR_TURQUOISE: u32 = 0xFF40E0D0;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:509:1
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub const COLOR_CRIMSON: u32 = 0xFFDC143C;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | pub const COLOR_AZURE: u32 = 0xFFF0FFFF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/runtime/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub mod module_registry;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime/family/asm/reconcile.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub fn asm_reconcile_returning_parent(
[INFO] [stdout] 17 | |     child_id:           FamilyId,
[INFO] [stdout] 18 | |     adoptive_parent_id: FamilyId,
[INFO] [stdout] 19 | |     returning_parent_id: FamilyId,
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | |     now_ms: u64,
[INFO] [stdout] 24 | | ) -> ReconciliationOutcome {
[INFO] [stdout]    | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/threading/threads.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub threads: HashMap<u64, PastaThread>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/threading/threads.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/threading/thread_man.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `values` is never used
[INFO] [stdout]    --> src/lexer/lexer.rs:672:8
[INFO] [stdout]     |
[INFO] [stdout] 672 |     fn values(src: &str) -> Vec<Option<String>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn draw_rect(canvas: &mut Canvas, x: isize, y: isize, w: isize, h: isize, color: u32) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn fill_rect(canvas: &mut Canvas, x: isize, y: isize, w: isize, h: isize, color: u32) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:52:1
[INFO] [stdout]    |
[INFO] [stdout] 52 | / pub fn fill_grid_cell(
[INFO] [stdout] 53 | |     canvas: &mut Canvas,
[INFO] [stdout] 54 | |     cell_width: usize,
[INFO] [stdout] 55 | |     cell_height: usize,
[INFO] [stdout] ...  |
[INFO] [stdout] 58 | |     color: u32,
[INFO] [stdout] 59 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | / pub fn fill_grid_cells(
[INFO] [stdout] 69 | |     canvas: &mut Canvas,
[INFO] [stdout] 70 | |     cell_width: usize,
[INFO] [stdout] 71 | |     cell_height: usize,
[INFO] [stdout] 72 | |     cells: &[(isize, isize, u32)],
[INFO] [stdout] 73 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/stdlib/graphics/draw.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | / pub fn fill_grid_run(
[INFO] [stdout] 80 | |     canvas: &mut Canvas,
[INFO] [stdout] 81 | |     cell_width: usize,
[INFO] [stdout] 82 | |     cell_height: usize,
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |     color: u32,
[INFO] [stdout] 87 | | ) {
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | / pub fn fill_grid_runs(
[INFO] [stdout]  98 | |     canvas: &mut Canvas,
[INFO] [stdout]  99 | |     cell_width: usize,
[INFO] [stdout] 100 | |     cell_height: usize,
[INFO] [stdout] 101 | |     runs: &[(isize, isize, usize, u32)],
[INFO] [stdout] 102 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:118:1
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn draw_circle(canvas: &mut Canvas, cx: isize, cy: isize, radius: isize, color: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn fill_circle(canvas: &mut Canvas, cx: isize, cy: isize, radius: isize, color: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn draw_ellipse(canvas: &mut Canvas, cx: isize, cy: isize, rx: isize, ry: isize, color: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub fn fill_ellipse(canvas: &mut Canvas, cx: isize, cy: isize, rx: isize, ry: isize, color: u32) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:242:1
[INFO] [stdout]     |
[INFO] [stdout] 242 | / pub fn draw_triangle(
[INFO] [stdout] 243 | |     canvas: &mut Canvas,
[INFO] [stdout] 244 | |     x0: isize,
[INFO] [stdout] 245 | |     y0: isize,
[INFO] [stdout] ...   |
[INFO] [stdout] 250 | |     color: u32,
[INFO] [stdout] 251 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:257:1
[INFO] [stdout]     |
[INFO] [stdout] 257 | / pub fn fill_triangle(
[INFO] [stdout] 258 | |     canvas: &mut Canvas,
[INFO] [stdout] 259 | |     mut x0: isize,
[INFO] [stdout] 260 | |     mut y0: isize,
[INFO] [stdout] ...   |
[INFO] [stdout] 265 | |     color: u32,
[INFO] [stdout] 266 | | ) {
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:478:1
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub const COLOR_BLACK: u32 = 0xFF000000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:479:1
[INFO] [stdout]     |
[INFO] [stdout] 479 | pub const COLOR_WHITE: u32 = 0xFFFFFFFF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:480:1
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub const COLOR_RED: u32 = 0xFFFF0000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:481:1
[INFO] [stdout]     |
[INFO] [stdout] 481 | pub const COLOR_GREEN: u32 = 0xFF00FF00;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:482:1
[INFO] [stdout]     |
[INFO] [stdout] 482 | pub const COLOR_BLUE: u32 = 0xFF0000FF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:483:1
[INFO] [stdout]     |
[INFO] [stdout] 483 | pub const COLOR_YELLOW: u32 = 0xFFFFFF00;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:484:1
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub const COLOR_CYAN: u32 = 0xFF00FFFF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub const COLOR_MAGENTA: u32 = 0xFFFF00FF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:486:1
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub const COLOR_ORANGE: u32 = 0xFFFF8000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:487:1
[INFO] [stdout]     |
[INFO] [stdout] 487 | pub const COLOR_PURPLE: u32 = 0xFF800080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:488:1
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub const COLOR_PINK: u32 = 0xFFFF69B4;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | pub const COLOR_BROWN: u32 = 0xFF8B4513;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:490:1
[INFO] [stdout]     |
[INFO] [stdout] 490 | pub const COLOR_GRAY: u32 = 0xFF808080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:491:1
[INFO] [stdout]     |
[INFO] [stdout] 491 | pub const COLOR_GREY: u32 = 0xFF808080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | pub const COLOR_DARK_GRAY: u32 = 0xFF404040;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | pub const COLOR_LIGHT_GRAY: u32 = 0xFFC0C0C0;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:494:1
[INFO] [stdout]     |
[INFO] [stdout] 494 | pub const COLOR_DARK_RED: u32 = 0xFF8B0000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:495:1
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub const COLOR_DARK_GREEN: u32 = 0xFF006400;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:496:1
[INFO] [stdout]     |
[INFO] [stdout] 496 | pub const COLOR_DARK_BLUE: u32 = 0xFF00008B;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:497:1
[INFO] [stdout]     |
[INFO] [stdout] 497 | pub const COLOR_TEAL: u32 = 0xFF008080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:498:1
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub const COLOR_NAVY: u32 = 0xFF000080;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:499:1
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub const COLOR_MAROON: u32 = 0xFF800000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:500:1
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub const COLOR_OLIVE: u32 = 0xFF808000;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:501:1
[INFO] [stdout]     |
[INFO] [stdout] 501 | pub const COLOR_LIME: u32 = 0xFF32CD32;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:502:1
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub const COLOR_INDIGO: u32 = 0xFF4B0082;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:503:1
[INFO] [stdout]     |
[INFO] [stdout] 503 | pub const COLOR_VIOLET: u32 = 0xFFEE82EE;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:504:1
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub const COLOR_GOLD: u32 = 0xFFFFD700;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub const COLOR_SILVER: u32 = 0xFFC0C0C0;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:506:1
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub const COLOR_CORAL: u32 = 0xFFFF7F50;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:507:1
[INFO] [stdout]     |
[INFO] [stdout] 507 | pub const COLOR_SALMON: u32 = 0xFFFA8072;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:508:1
[INFO] [stdout]     |
[INFO] [stdout] 508 | pub const COLOR_TURQUOISE: u32 = 0xFF40E0D0;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:509:1
[INFO] [stdout]     |
[INFO] [stdout] 509 | pub const COLOR_CRIMSON: u32 = 0xFFDC143C;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]    --> src/stdlib/graphics/draw.rs:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | pub const COLOR_AZURE: u32 = 0xFFF0FFFF;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/runtime/mod.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub mod module_registry;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]   --> src/runtime/family/asm/reconcile.rs:16:1
[INFO] [stdout]    |
[INFO] [stdout] 16 | / pub fn asm_reconcile_returning_parent(
[INFO] [stdout] 17 | |     child_id:           FamilyId,
[INFO] [stdout] 18 | |     adoptive_parent_id: FamilyId,
[INFO] [stdout] 19 | |     returning_parent_id: FamilyId,
[INFO] [stdout] ...  |
[INFO] [stdout] 23 | |     now_ms: u64,
[INFO] [stdout] 24 | | ) -> ReconciliationOutcome {
[INFO] [stdout]    | |__________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/threading/threads.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub threads: HashMap<u64, PastaThread>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/threading/threads.rs:146:5
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/threading/thread_man.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.43s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "24f2b11d72015a9f01b21ad1101c52a6cbf3ef72040d99896582cfe4fd0e5f3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24f2b11d72015a9f01b21ad1101c52a6cbf3ef72040d99896582cfe4fd0e5f3d", kill_on_drop: false }`
[INFO] [stdout] 24f2b11d72015a9f01b21ad1101c52a6cbf3ef72040d99896582cfe4fd0e5f3d
